* lisp/emacs-lisp/avl-tree.el: New avl-tree-stack datatype. Add new
authorToby Cubitt <toby-predictive@dr-qubit.org>
Fri, 27 May 2011 22:58:29 +0000 (19:58 -0300)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 27 May 2011 22:58:29 +0000 (19:58 -0300)
commit4058c46abe48d0d24229c80ff5ec0d135d0f28eb
tree33048eacc596738f31cfb754596695586f24ebec
parent18b06edb2a9928edccabab055bc5388770a196a6
* lisp/emacs-lisp/avl-tree.el: New avl-tree-stack datatype.  Add new
traversal functions for avl-trees.
(avl-tree--stack): New struct.
(avl-tree-stack-p, avl-tree--stack-repopulate): New funs.
(avl-tree-enter): Add optional `updatefun' arg.
(avl-tree--do-enter): Add optional `updatefun' arg.  Change return value.
(avl-tree-delete): Add optional `test' and `nilflag' args.
(avl-tree--do-delete): Add `test' and `nilflag' args.  Change return value.
(avl-tree-member): Add optional `nilflag'
(avl-tree-member-p): New function.
(avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar): New functions.
(avl-tree-stack, avl-tree-stack-pop, avl-tree-stack-first)
(avl-tree-stack-empty-p): New functions.
lisp/ChangeLog
lisp/emacs-lisp/avl-tree.el